home *** CD-ROM | disk | FTP | other *** search
/ Halting the Hacker - A P…uide to Computer Security / Halting the Hacker - A Practical Guide to Computer Security.iso / rfc / rfc1663.txt < prev    next >
Text File  |  1997-04-01  |  17KB  |  452 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                           D. Rand
  8. Request for Comments: 1663                                       Novell
  9. Category: Standards Track                                     July 1994
  10.  
  11.  
  12.                        PPP Reliable Transmission
  13.  
  14. Status of this Memo
  15.  
  16.    This document specifies an Internet standards track protocol for the
  17.    Internet community, and requests discussion and suggestions for
  18.    improvements.  Please refer to the current edition of the "Internet
  19.    Official Protocol Standards" (STD 1) for the standardization state
  20.    and status of this protocol.  Distribution of this memo is unlimited.
  21.  
  22. Abstract
  23.  
  24.    The Point-to-Point Protocol (PPP) [1] provides a standard method for
  25.    transporting multi-protocol datagrams over point-to-point links.
  26.  
  27.    This document defines a method for negotiating and using Numbered-
  28.    Mode, as defined by ISO 7776 [2], to provide a reliable serial link.
  29.  
  30.    This document is the product of the Point-to-Point Protocol Working
  31.    Group of the Internet Engineering Task Force (IETF).  Comments should
  32.    be submitted to the ietf-ppp@ucdavis.edu mailing list.
  33.  
  34. Table of Contents
  35.  
  36.    1.     Introduction ..........................................    1
  37.    2.     Physical Layer Requirements ...........................    2
  38.    3.     The Data Link Layer ...................................    2
  39.    3.1       Frame Format .......................................    2
  40.    4.     Configuration Option Format ...........................    4
  41.    5.     Numbered-Mode Operation ...............................    5
  42.    5.1       Single Link ........................................    6
  43.    5.2       Inverse Multiplexing ...............................    6
  44.    5.3       Using Multi-Link Procedure... ......................    7
  45.    5.4       LAPB Parameter defaults ............................    8
  46.    SECURITY CONSIDERATIONS ......................................    9
  47.    REFERENCES ...................................................    9
  48.    ACKNOWLEDGEMENTS .............................................    9
  49.    CHAIR'S ADDRESS ..............................................   10
  50.    AUTHOR'S ADDRESS .............................................   10
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Rand                                                            [Page 1]
  59.  
  60. RFC 1663               PPP Reliable Transmission               July 1994
  61.  
  62.  
  63. 1.  Introduction
  64.  
  65.    By default, PPP packets over HDLC framed links consist of
  66.    "connectionless" datagrams.  If reliable transmission over the HDLC
  67.    link is desired, the implementation MUST specify the Numbered-Mode
  68.    Configuration Option during Link Establishment phase.
  69.  
  70.    Generally, serial link reliability is not a major issue.  The
  71.    architecture of protocols used in datagram networking presume
  72.    best-effort non-sequential delivery.  When errors are detected,
  73.    datagrams
  74.    are discarded.
  75.  
  76.    However, in certain circumstances, it is advisable to provide a
  77.    reliable link, at least for a subset of the messages.  The most
  78.    obvious case is when the link is compressed.  Since the dictionary is
  79.    recovered from the compressed data stream, and a lost datagram
  80.    corrupts the dictionary, datagrams must not be lost.  Not all
  81.    compression types will require a reliable data stream, since the cost
  82.    to detect and reset a corrupt dictionary is small.
  83.  
  84.    The ISO 7776 LAPB can be used guarantee delivery.  This is referred
  85.    to in this document as "Numbered Mode" to distinguish it from the use
  86.    of "Unnumbered Information", which is standard PPP framing practice.
  87.  
  88.    Where multiple parallel links are used to emulate a single link of
  89.    higher speed, Bridged traffic, Source Routed traffic, and traffic
  90.    subjected to Van Jacobsen TCP/IP header compression must be delivered
  91.    to the higher layer in a certain sequence.  However, the fact of the
  92.    links being relatively asynchronous makes traffic ordering uncertain.
  93.  
  94.    The ISO 7776 Multi-Link Procedure MAY be used to restore order.
  95.    Implementation of the ISO Multi-Link Procedure is deprecated.  It is
  96.    recommended that the PPP multilink procedure [4] be used instead.
  97.  
  98. 2.  Physical Layer Requirements
  99.  
  100.    PPP Reliable Transmission imposes the same requirements that are
  101.    described in "PPP in HDLC Framing" [3], with the following
  102.    exceptions.
  103.  
  104.    Control Signals
  105.  
  106.       While PPP does not normally require the use of control signals,
  107.       implementation of Numbered-Mode LAPB or LAPD requires the
  108.       provision of control signals, which indicate when the link has
  109.       become connected or disconnected.  These in turn provide the Up
  110.       and Down events to the LCP state machine.
  111.  
  112.  
  113.  
  114. Rand                                                            [Page 2]
  115.  
  116. RFC 1663               PPP Reliable Transmission               July 1994
  117.  
  118.  
  119. 3.  The Data Link Layer
  120.  
  121.    Numbered-Mode affects only the Address and Control fields.  The
  122.    remainder of the frame conforms to the framing in use for PPP.
  123.  
  124.    The Address Field of the frame MUST take the value announced in the
  125.    Numbered-Mode Configuration Option, and the Control Field MAY take
  126.    any value valid in ISO 7776.
  127.  
  128.    Once the link enters Numbered-Mode, Numbered-Mode MUST be used on all
  129.    frames, as some implementations do not support the use of the
  130.    Unnumbered-Information control field or the use of the All-Stations
  131.    address intermixed with Numbered-Mode frames.
  132.  
  133. 3.1.  Frame Format
  134.  
  135.    The following frame format is valid under Numbered-Mode.  The fields
  136.    are transmitted from left to right.
  137.  
  138.    Numbered Mode
  139.            +----------+----------+----------+
  140.            |   Flag   | Address  | Control  |
  141.            | 01111110 |1-2 octets|1-2 octets|
  142.            +----------+----------+----------+
  143.            +----------+-------------+---------+
  144.            | Protocol | Information | Padding |
  145.            |1-2 octets|      *      |    *    |
  146.            +----------+-------------+---------+
  147.            +----------+----------+-----------------
  148.            |   FCS    |   Flag   | Inter-frame Fill
  149.            | 16 bits  | 01111110 | or next Address
  150.            +----------+----------+-----------------
  151.  
  152.    The Protocol, Information and Padding fields are described in the
  153.    Point-to-Point Protocol Encapsulation [1].  The FCS and Flag Sequence
  154.    fields are described in "PPP in HDLC Framing" [3].
  155.  
  156. 4.  Configuration Option Format
  157.  
  158.    Description
  159.  
  160.       The LCP Numbered-Mode Configuration Option negotiates the use of
  161.       Numbered-Mode on the link.  By default or ultimate disagreement,
  162.       Unnumbered-Mode is used.
  163.  
  164.    A summary of the Numbered-Mode Configuration Option format is shown
  165.    below.  The fields are transmitted from left to right.
  166.  
  167.  
  168.  
  169.  
  170. Rand                                                            [Page 3]
  171.  
  172. RFC 1663               PPP Reliable Transmission               July 1994
  173.  
  174.  
  175.     0                   1                   2                   3
  176.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  177.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  178.    |     Type      |     Length    |    Window     |   Address...
  179.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  180.  
  181.    Type
  182.  
  183.       11
  184.  
  185.    Length
  186.  
  187.       >= 4
  188.  
  189.    Window
  190.  
  191.       A value between 1 and 127.  This indicates the number of frames
  192.       the receiver will buffer, which is the maximum number that the
  193.       sender should send without receiving an acknowledgement.  If
  194.       window < 8, then modulo 8 sequencing is used on the link.
  195.       Otherwise, modulo 128 sequencing is used.
  196.  
  197.       It is conceivable and legal that differing window values might be
  198.       announced.  However, it is not permitted for one system to use
  199.       modulo 8 sequencing and the other to use modulo 128.  Therefore,
  200.       the rule is: a Configure-Nak may reduce the window but may not
  201.       increase it.
  202.  
  203.    Address
  204.  
  205.       An HDLC Address as specified in ISO 3309.  ISO 7776 specifies four
  206.       of the possible values: 1 and 3 for single link operation, 7 and
  207.       15 for the Multi-Link Procedure.  Other values consistent with ISO
  208.       3309 are considered legal.
  209.  
  210.       Implementation of the Multi-Link Procedure is optional; A
  211.  
  212.       Configure-Nak may therefore force a change from MLP to single link
  213.       mode, but not the reverse.
  214.  
  215.       Should the address be zero upon receipt, the receiver MUST
  216.       Configure-Nak with an appropriate address.  If both peers send
  217.       address zero, the system advertising the numerically smaller
  218.       window will select the smaller address.  If both windows are the
  219.       same size, a random choice MUST be made; when good sources of
  220.       randomness are used, the link will converge in a reasonable time.
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Rand                                                            [Page 4]
  227.  
  228. RFC 1663               PPP Reliable Transmission               July 1994
  229.  
  230.  
  231.       If magic numbers have been negotiated on the link, the system with
  232.       the numerically smaller magic number SHOULD specify the smaller
  233.       address.
  234.  
  235. 5.  Numbered-Mode Operation
  236.  
  237.    When using the Numbered-Mode, each link is established in the usual
  238.    manner for the type of link.  The Numbered-Mode Configuration Option
  239.    is negotiated, the Magic-Number Configuration Option MUST also be
  240.    negotiated, and the Address-and-Control-Field-Compression
  241.    Configuration Option MUST NOT be negotiated.
  242.  
  243.    Following the successful negotiation of the Numbered-Mode
  244.    Configuration Option during LCP Link Establishment phase, the system
  245.    with the numerically smaller Magic-Number will send a SABM or
  246.    SABM(E), and the other will respond with a UA.  In the event that
  247.    either the SABM or UA is lost, this exchange may be repeated
  248.    according to the same parameters as the configuration exchange
  249.    itself, using the Restart Timer and counter values.  Authentication,
  250.    Link Quality Determination, and NCP Configuration follow this step.
  251.  
  252.    Once the link has been established with Numbered-Mode, when re-
  253.    negotiation of link configuration occurs, the entire re-negotiation
  254.    MUST be conducted in Numbered-Mode.  If the Numbered-Mode
  255.    Configuration Option is not successfully re-negotiated, the link
  256.    reverts to Unnumbered-Information operation prior to Authentication,
  257.    Link Quality Determination, and NCP Configuration.
  258.  
  259.    When an implementation which is capable of Numbered-Mode, and is not
  260.    currently configured for Numbered-Mode operation, detects a frame
  261.    which has a correct FCS but does not have a UI Control octet, the
  262.    implementation MUST send a DM message, immediately followed by a LCP
  263.    Configure-Request.
  264.  
  265.    When an implementation which is currently configured for Numbered-
  266.    Mode operation receives a DM message, it MUST revert to Unnumbered-
  267.    Information operation, and immediately send a LCP Configure-Request.
  268.  
  269. 5.1.  Single Link
  270.  
  271.    When Network-Layer packets are sent over a single link, the packets
  272.    are encapsulated in the following order:
  273.  
  274.     +----------+   +----------+   +----------+
  275.     |          |   |          |   | Numbered |
  276.     | Header   |-->| Data     |-->| Mode     |--> link
  277.     | Compress |   | Compress |   | Header   |
  278.     +----------+   +----------+   +----------+
  279.  
  280.  
  281.  
  282. Rand                                                            [Page 5]
  283.  
  284. RFC 1663               PPP Reliable Transmission               July 1994
  285.  
  286.  
  287. 5.2.  Inverse Multiplexing
  288.  
  289.    Since sending several connections over a single link is often called
  290.    "multiplexing", sending packets from a single connection over
  291.    multiple parallel links is sometimes called "inverse-multiplexing".
  292.    By default, PPP performs no special processing for such links.  Each
  293.    link is established and terminated independently, negotiates its own
  294.    configuration options, and may have different combinations of such
  295.    options as ACCM, Protocol Field Compression and IP-Address.  This
  296.    facilitates using the links simultaneously over dissimilar media,
  297.    such as 56K sync with async backup.
  298.  
  299.    Every link in a single machine MUST have different Magic Numbers, and
  300.    each end of every link between two peers SHOULD have Magic Numbers
  301.    which are unique to those peers.  This protects against patch-panel
  302.    errors in addition to looped-back links.
  303.  
  304.    The distribution to each link is controlled by higher level routing
  305.    mechanisms.  When Network-Layer specific compression techniques (such
  306.    as Van Jacobsen Compression) rely on sequential delivery, without
  307.    Multi-Link Procedure support such compression MUST be applied on a
  308.    link by link basis.
  309.  
  310.                     +----------+   +----------+   +----------+
  311.                     |          |   |          |   | Numbered |
  312.                +--->| Header   |-->| Data     |-->| Mode     |--> link 1
  313.                |    | Compress |   | Compress |   | Header   |
  314.   +--------------+  +----------+   +----------+   +----------+
  315.   | Distribution |
  316.   +--------------+  +----------+   +----------+   +----------+
  317.                |    |          |   |          |   | Numbered |
  318.                +--->| Header   |-->| Data     |-->| Mode     |--> link 2
  319.                     | Compress |   | Compress |   | Header   |
  320.                     +----------+   +----------+   +----------+
  321.  
  322. 5.3.  Using Multi-Link Procedure
  323.  
  324.    This document does not offer a standard for ISO Multi-Link, but does
  325.    offer a method for agreeing on the addressing scheme usable with
  326.    Multi-Link.  A sample implementation is shown below.  Implementation
  327.    of Multi-Link is not required.
  328.  
  329.    When using the ISO 7776 Multi-Link Procedure, each link is
  330.    established as described above.  In addition, the Numbered-Mode
  331.    Configuration Option is negotiated with appropriate addresses for the
  332.    Multi-Link Procedure.  The distribution to each link is controlled by
  333.    the Multi-Link Procedure, as is the recovery of sequence in the
  334.    receiving system.
  335.  
  336.  
  337.  
  338. Rand                                                            [Page 6]
  339.  
  340. RFC 1663               PPP Reliable Transmission               July 1994
  341.  
  342.  
  343.                                                             +---> link 1
  344.   +----------+   +----------+   +----------+                |
  345.   |          |   |          |   | Multi    |   +--------------+
  346.   | Header   |-->| Data     |-->| Link     |-->| Distribution |
  347.   | Compress |   | Compress |   | Procedure|   +--------------+
  348.   +----------+   +----------+   +----------+                |
  349.                                                             +---> link 2
  350.  
  351. 5.4.  LAPB Parameter defaults
  352.  
  353.    The following guidelines specify the default values of LAPB
  354.    configurable parameters.
  355.  
  356.       Timer T1
  357.  
  358.          Timer T1 is the maximum time permitted before a retransmission
  359.          is started, as a result of no response to a transmitted I
  360.          frame.  This value must be greater than the time required for a
  361.          maximum sized frame to be received by the other side of the
  362.          link, and for a response to be generated for the frame.  This
  363.          SHOULD be determined dynamically, based on the measured round
  364.          trip time delay of the link at the LAPB level.  In the event
  365.          that the system cannot determine the round trip time of the
  366.          link, this value SHOULD be set to twice the bit rate of the
  367.          link, divided by the maximum number of bits per frame, plus 100
  368.          milliseconds processing time.  For example, on a 14,400 bps
  369.          link, with a maximum frame size of 8000 bits (1000 octects),
  370.          the T1 value would be set to 3.7 seconds.
  371.  
  372.       Timer T3
  373.  
  374.          Timer T3 gives an indication of the idle state of the link.
  375.          Its value must be greater than the T1 value.
  376.  
  377.       Maximum number of attempts to complete a transmission, N2
  378.  
  379.          Parameter N2 gives the maximum number of retransmission
  380.          attempts for a given frame.  If this value is exceeded, the
  381.          link SHOULD be terminated.  The default value for parameter N2
  382.          SHOULD be 3.
  383.  
  384. Security Considerations
  385.  
  386.    Security issues are not discussed in this memo.
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Rand                                                            [Page 7]
  395.  
  396. RFC 1663               PPP Reliable Transmission               July 1994
  397.  
  398.  
  399. References
  400.  
  401.    [1] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD 51,
  402.        RFC 1661, Daydreamer, July 1994.
  403.  
  404.    [2] ISO 7776, Information Processing Systems - Data Communication -
  405.        High Level Data Link Control Procedures - Description of the X.25
  406.        LAPB-Compatible DTE Data Link Procedures
  407.  
  408.    [3] Simpson, W., Editor, "PPP in HDLC Framing", STD 51, RFC 1662,
  409.        Daydreamer, July 1994.
  410.  
  411.    [4] Sklower, K., "PPP MultiLink Procedure", Work in Progress.
  412.  
  413. Acknowledgments
  414.  
  415.    Fred Baker was the original author of this document.
  416.  
  417.    Bill Simpson contributed materially to the document.
  418.  
  419. Chair's Address
  420.  
  421.    The working group can be contacted via the current chair:
  422.  
  423.    Fred Baker
  424.    Advanced Computer Communications
  425.    315 Bollay Drive
  426.    Santa Barbara, California  93117
  427.  
  428.    EMail: fbaker@acc.com
  429.  
  430. Author's Address
  431.  
  432.    Questions about this memo can also be directed to:
  433.  
  434.    Dave Rand
  435.    2180 Fortune Drive
  436.    San Jose, CA  95131
  437.  
  438.    Phone: +1 408 321-1259
  439.    EMail: dave_rand@novell.com
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Rand                                                            [Page 8]
  451.  
  452.